技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
25
1
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
25
篇
Day25-複合資料結構:字典
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-11 22:05:46
1553 瀏覽
分享至
學習目標
• 何謂「字典」?為何需要「字典」?
• 「字典」相關的專有名詞介紹 & 應用
• 如何建造一個「字典」?
• 讀取 & 修改字典內的元素
• 字典的四大特性
何謂「字典」(Dict)
• 以 { } 括住、儲存「對照表」類型資料的結構
為何要叫「字典」(Dict)
•「字典」也是一種「對照表」
「字典(Dict)」專有名詞介紹
•鍵(Keys)、值(Values)、鍵值對(Key-Value Pairs)
→ 事實上,底層是用 tuple(Key, Value) 這樣的機制儲存的
「字典」常見的應用
•查閱(Lookup)
•轉換(Translate)
建造一個「字典」
• 空字典
• d = {}
• d = dict()
•一般字典
• 標準: d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}
• 元組: d = dict([(“USD”, 30.24), (“JPY”, 0.276), (“RMB”, 4.541)])
•等號: d = dict(USD=30.24, JPY=0.276, RMB=4.541)
•ZIP: d = dict(zip(("USD", "JPY", "RMB"), (30.24, 0.276, 4.541)))
字典元素的讀取與修改
•讀取
•d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}
•d[“USD”] → 30.24
•d[“EUR”] → 讀取不存在的 Key,傳回 KeyError
•修改
•d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}
•d[“USD”] = 31.02
→ d = {“USD”:31.02, “JPY”:0.276, “RMB”:4.541}
•d[“EUR”] = 35.636 → 寫入不存在的 Key,會新增一個元素
字典四大特性
(1) Key 必須是 Immutable
(2) Key 不可重複,後者會蓋掉前者
(3) 字典是「無序」的(Python 3.6 開始,盡量保持原始順序)
(4) 字典本身是 Mutable 的
•可增減字典內的元素
•Python 提供一組增減字典元素的函數,供程式師使用
重點整理
何謂「字典」
以「大括號 { }」括住、每筆元素包含「鍵:值」對應關係的資料。
「字典」的應用時機
查閱(Lookup)& 轉換(Translate)
建造一個字典
空字典:d = { }; d = dict()
一般字典
標準: d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}
元組: d = dict([(“USD”, 30.24), (“JPY”, 0.276), (“RMB”, 4.541)])
等號: d = dict(USD=30.24, JPY=0.276, RMB=4.541)
ZIP: d = dict(zip(("USD", "JPY", "RMB"), (30.24, 0.276, 4.541)))
讀寫字典內的元素
讀取: d[“USD”]
寫入: d[“USD”] = 31.02
字典四大特性
Key 不可更改(Immutable)、Key 不可重複、鍵值對「無序」、鍵值對可更改(Mutable)
留言
追蹤
檢舉
上一篇
Day24-函數
下一篇
DAY26-物件導向設計
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
9
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19838
篇
完賽人數
529
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
鼎新ERP WorkFlow GP3升級到AiGP
Fortigate防火牆的選擇??
k8s CKS/CKAD 這兩張推薦去考嗎?
不能關機
可以自訂規則的密碼產生器....
網路電話VoIP Gateway被駭客盜打的問題??? 網路電話:Mini voip router 福憶電子
Windows更新像跑馬燈以致無法進入桌面
還能怎麼加固安全?
爬蟲問題, 如何在GOOGLE搜尋關鍵字後,取前10頁的網址?
FortiGate 的VLAN Switch問題
熱門回答
鼎新ERP WorkFlow GP3升級到AiGP
網路電話VoIP Gateway被駭客盜打的問題??? 網路電話:Mini voip router 福憶電子
Fortigate防火牆的選擇??
k8s CKS/CKAD 這兩張推薦去考嗎?
可以自訂規則的密碼產生器....
熱門文章
Excel公式全面解析:基礎概念與日常應用技巧
「與AI探索天文」如何藉由Google Antigravity用Python打造一個能認識重力波觀測的偵探遊戲?
[分享] 拒絕重複造輪子!我用 Python 開發了 5 套自動化神器來解決 Modbus、CAN 與 AI 讀檔的痛點
BI系統是如何運作的?從概念到應用的全方位解讀
主流BI工具大對決 探索最佳選擇
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}